package com.itheima.controller;

import com.itheima.pojo.Address;
import com.itheima.pojo.Result;
import com.itheima.pojo.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

@RestController
public class ResponseController {

    // 封装返回数据
//    Result result = Result.success(userList);
//        System.out.println(result);
//        return result;
    /*
        @ResponseBody注解 : 将当前方法返回值直接返回， 如果是 实体/集合 转换为JSON返回
        注意：@RestController注解已经包含了 @ResponseBody 的作用，无需额外添加。
        需求1 : 定义getUser方法,方法中返回User对象
     */
    @RequestMapping("/method")
     public Result method(){
           return Result.success("这是一个字符串");
     }



    /*
        @ResponseBody注解 : 将当前方法返回值直接返回， 如果是 实体/集合 转换为JSON返回
        需求2 : 定义getList方法,方法中返回List对象
     */
    @RequestMapping("/method2")
    public Result getList(){
        Address address = new Address("上海市","上海市");
        User user = new User("zhenglei",24,address);

        Address address2 = new Address("内蒙古自治区","喀喇沁");
        User user2 = new User("郑磊",24,address2);

        List<User> list = new ArrayList<User>();
        Collections.addAll(list,user,user2);

        return Result.success(list);
    }

    /*
        统一响应结果
        需求3 : 对以上代码进行改造,使用统一响应结果
     */

   @RequestMapping("/method3")
    public Result getUser(){
        User user = new User("李瀚",78);
        return Result.success(user);

    }


}
